<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // function Person(name, age) {
        //     this.name = name
        //     this.age = age
        //     // 向实例对象添加方法
        //     // 在构造函数体内直接向实例内添加方法，这个行为并不好
        //     this.sayHi=function(){
        //         console.log('hello world')
        //     }
        // }
        // // 创建一个实例
        // var p1 = new Person('jack', 18)
        // var p2 = new Person('rosse', 19)
        // console.log(p1)
        // console.log(p2)
        // p1.sayHi()
        // p2.sayHi()

        // 解决问题
        function Person(name, age) {
            // 向实例上添加属性
            this.name = name
            this.age = age
            this.sayHi=function(){
                console.log('hello world')
            }
        }
        // 想添加给实例对象的方法 书写在原型上
        Person.prototype.sayHi=function(){
            console.log('hello world')
        }
        // 创建实例对象
        var p1=new Person('zhicha',18)
        var p2=new Person('xiaoqing',20)
        console.log(p1,p2)
        console.log(p1.__proto__==Person.prototype)
        console.log(p2.__proto__==Person.prototype)
        // 当你访P1sayHi
        console.log(p1.sayHi)
        console.log(p2.sayHi)
        console.log(p1.sayHi===p2.sayHi)
    </script>
</body>

</html>